import math


def operation(func, *args):
    result = func(*args)
    print(f'{func.__name__}_func result: {result}')
    return result

#加
def add(a, b):
    return a + b

#开方
def evolution(a):
    return math.sqrt(a)

#乘
def mul(x,y):
    return  x * y

#减
def sub(x,y):
    return  x - y

#除
def division(x,y):
    return  x / y

#整除
def divide_exactly(x,y):
    return x // y

#取余
def remainder(x,y):
    return  x % y

#乘方
def power(x,y):
    return  x ** y



if __name__ == '__main__':
    ret1 = operation(add, 1, 3)
    print(ret1)

    ret2 = operation(evolution, 4)
    print(ret2)

    ret3 = operation(mul, 1, 3 )
    print(ret3)

    ret4 = operation(sub, 3, 1)
    print(ret4)

    ret4 = operation(division, 8, 3)
    print(ret4)

    ret5 = operation(divide_exactly, 8, 3)
    print(ret5)

    ret6 = operation(remainder, 8, 3)
    print(ret6)

    ret7 = operation(power , 8, 3)
    print(ret7)
